#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QMessageBox>
#include <QPushButton>
#include <QDebug>

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}


void MainWindow::on_pushButton_clicked()
{
    QMessageBox* messageBox = new QMessageBox();
    messageBox->setWindowTitle("这是一个对话框");
    messageBox->setText("这是一个对话框文本");
    messageBox->setIcon(QMessageBox::Warning);
    messageBox->setStandardButtons(QMessageBox::Ok | QMessageBox::No | QMessageBox::Cancel);
//    QPushButton* button = new QPushButton("按钮", messageBox);

//    messageBox->addButton(button, QMessageBox::ButtonRole::YesRole);

    int ret = messageBox->exec();
    if(ret == QMessageBox::StandardButton::Ok)
    {
        qDebug() << "ok";
    }
    else if(ret == QMessageBox::StandardButton::No)
    {
        qDebug() << "no";
    }
    else if(ret == QMessageBox::StandardButton::Cancel)
    {
        qDebug() << "cancel";
    }
    else qDebug() << "unknown";

    // 在释放QMessageBox对象的时候可以选择delete，也可以使用setAttribute，因为QMessageBox在执行exec的时候是阻塞的
    // 只有窗口被关闭之后才会向后运行
//    delete messageBox;
    messageBox->setAttribute(Qt::WA_DeleteOnClose);
}
